import { useEffect } from 'react'

export default function App() {
  // !问题：每次状态改变，重新调用整个 App，这里会重新执行，重新绑定，没必要
  // window.addEventListener('click', function () {})

  useEffect(() => {
    window.addEventListener('click', function () {
      console.log(1)
    })
  }, []) // 依赖项是一个空数组，表示只有初始化完毕会走一次 Effect 回调，类似于 class => componentDidMount

  // useEffect => 第二个参数不写 => Effect 回调执行时机：初始化、任何状态变化后 => class componentDidMount + componentDidUpdate
  // useEffect => 第二参数空数组 => Effect 回调执行时机：初始化 => class componentDidMount
  // useEffect => 第二参数 [count] => Effect 回调执行时机：初始化、count 状态变化后
  return (
    <div>
      <h3>count</h3>
    </div>
  )
}
